1. Field of the Invention
The present invention relates to a system for providing quality of service routing functions in a network environment.
2. Background
Various types of data may be transmitted between hosts coupled to a network. Certain types of data transmissions (or data flows) may require a specific Quality of Service (QoS) from the network. QoS may be specified in terms of minimum bandwidth requirements, transmission delay, or the amount of memory or buffer space required for the data flow. For example, a video conference or other real-time data may have a high QoS and require substantial bandwidth and minimum delay from the network. By specifying the QoS required for a particular data flow, the data source or destination can ascertain whether an acceptable path is available. Thus, QoS routing allows data flows to be routed around links without adequate resources.
Link-state routing protocols are used to advertise the existence of various connections (or links) in a network. By advertising the existence of network links to other nodes (or routers) in a network, each router learns the topology of the network.
An example of a link-state routing protocol is the Open Shortest Path First (OSPF) routing protocol. Each router running the OSPF protocol maintains an identical database describing the network topology. Using this topology database, each router is able to generate a routing table by constructing a shortest-path tree with the router at the root of the tree. OSPF is a dynamic routing protocol; i.e., OSPF detects changes in network topology and recalculates paths based on the new topology. Typically, all routers in an autonomous network run the OSPF protocol simultaneously.
OSPF allows multiple networks and routers to be grouped together. These groupings are commonly referred to as areas. The specific topology of a particular area is not broadcast to other areas. Instead, a summary of the area is transmitted to other areas, thereby reducing the amount of link-state information which must be transmitted through the network. Since a router may be connected to more than one area, each router that borders multiple areas maintains a separate topology database for each area. A separate copy of OSPF's basic routing algorithm is executed in each area. Additionally, routing within a particular area is determined only by the topology of the particular area. Each area may use a different authentication scheme, such that some areas use stricter authentication schemes than other areas.
OSPF provides link state advertisements (LSAs) for describing the local state of a router or network. Each LSA is flooded (or broadcast) throughout the area. The topology database is generated and maintained using the data contained in the LSAs.
MOSPF is a multicasting extension to OSPF. Multicasting is the distribution of datagrams from a source to multiple destinations. The multiple destinations may be members of a multicast group such that each member of a multicast group receives datagrams addressed to the group. By adding a new type of LSA, the group membership LSA, MOSPF is able to determine the location of all multicast group members in the network.
Another type of LSA which may be supported by OSPF is the Opaque LSA. The Opaque LSA provides a general mechanism to permit future extensions of the OSPF protocol.
OSPF and MOSPF are examples of protocols used with connectionless networks. Connectionless networks rely on addressing information within the transmitted data to properly route data through the network.
Various protocols and other mechanisms may be used to trigger or request a QoS route calculation. A specific QoS signaling protocol is the Resource Reservation Protocol (RSVP). RSVP may be used by a host to request a particular QoS from the network. Additionally, the RSVP protocol is used by routers to deliver QoS requests to all nodes along the path of the data flow. Other protocols or resource reservation mechanisms may be used in connection with the present invention to request a specific QoS for a data flow.
As mentioned above, QoS routing may request a particular bandwidth or other network resource for a specific data flow. However, many connectionless networks fail to provide a QoS routing function. For example, neither OSPF nor MOSPF provide a mechanism for a host to request a specific QoS from the network. Therefore, it is desirable to provide a QoS routing capability for use in connectionless networks.